
/**
 * @typedef CreateTag
 * @property {string} pid.required -标签分类
 * @property {string} tagName.required -标签名称
 */

/**
 * @typedef UpdateTag
 * @property {string} id.required -标签id
 * @property {string} pid.required -标签分类
 * @property {string} tagName.required -标签名称
 */

const express = require('express')
const router = express.Router()
const auth = require('@/middleware/auth.middleware')
const tagController = require('@/controllers/tag.controller')

/**
 * 查询用户的所有标签列表
 * @route GET /tag
 * @group 标签管理
 * @param {string} userId.query
 * @returns {object} 200
 * @returns {Error}  default - Unexpected error
 */
router.get('/', tagController.findTags)

/**
 * 新增标签
 * @route POST /tag/create
 * @group 标签管理
 * @param {CreateTag.model} createTag.body.required
 * @returns {object} 200
 * @returns {Error}  default - Unexpected error
 * @security JWT
 */
router.post('/create', auth(), tagController.additionTag)

/**
 * 删除标签
 * @route GET /tag/delete
 * @group 标签管理
 * @param {string} id.query.required
 * @returns {object} 200
 * @returns {Error}  default - Unexpected error
 * @security JWT
 */
router.get('/delete', auth(), tagController.deleteTag)

/**
 * 更新站点
 * @route POST /tag/update
 * @group 标签管理
 * @param {UpdateTag.model} updateTag.body.required
 * @returns {object} 200
 * @returns {Error}  default - Unexpected error
 * @security JWT
 */
router.post('/update', auth(), tagController.updateTag)

module.exports = router
